草庐IT

java - 模拟 UIInput 类进行测试

全部标签

javascript - AngularJS 测试 $httpBackend.flush() 导致错误

我正在尝试使用jasmine对我为Spotify创建的AngularJS服务进行一些测试。但是在测试promises时,我的测试总是出错。我的测试目前是这样的:describe('Spotify.search',function(){var$httpBackend;var$rootScope;varSpotify;varapi='https://api.spotify.com/v1';beforeEach(inject(function(_Spotify_,_$httpBackend_,_$rootScope_){Spotify=_Spotify_;$httpBackend=_$htt

javascript - 如何测试前端 JavaScript 库并与 Travis 集成?

我已经尝试过使用Jasmine或Mocha测试NodeJS库,但我不知道如何测试前端项目。我在网上找到了教程,但所有内容都在工作流程中包含一个任务管理器,我想知道如何在没有任务管理器的情况下执行此操作。我发现以下问题与我要问的很接近:UsingTravis-CIforclient-sideJavaScriptlibraries?就我而言,我正在使用Jasmine并且已经设置了JasmineSpecRunner.html、Jasmine库和spec/mylibSpec.js。当我在浏览器上运行SpecRunner.html时,测试通过了。现在,我如何将它与Travis集成,没有Grunt

javascript - 使用 JavaScript 进行表单验证?

我正在尝试通过JavaScript使用表单验证,但是我似乎没有得到任何响应,即使它在那里也没有警告。ExampleFormfunctionCheckForBlank(){if(document.getElementById('name').value=""){alert("entersomethingvalid");returnfalse;}}Name:Age:Email: 最佳答案 在javascript中使用===或==进行条件检查。if(document.getElementById('name').value===""){a

javascript - 按字母顺序对列表进行排序,字符在末尾

我需要按Angular、字母顺序(升序)对列表进行排序,但希望将特殊字符(如果有的话)放在列表​​末尾。例如:列表应该是这样的:AppleBanana*Apple任何建议都会被推荐。 最佳答案 这是一个相当简单的解决方案。手动比较字符串时,最好使用localeCompare即使用户的特定语言环境规定了不同的排序顺序,它也能正确排序。但是单靠这个功能并不能解决我们的问题。基于@wZVanG的聪明答案,我们将使用\W正则表达式字符组替换任何非单词字符,在字符串的开头用字母z这会自动将它们排序到列表的末尾。请注意其中的一个缺陷是,如果您的

javascript - Polymer 使用 Array 进行数据绑定(bind)

我有这个dom-repeat模板,我想知道如何将数组传递给属性。{{item}}Polymer({is:"my-element",properties:{headers:Array}});然后在index.html文件中,我这样绑定(bind)它:我尝试这样做,但什么也没发生,我收到警告Polymer::Attributes:couldn'tdecodeArrayasJSON 最佳答案 切换双引号和单引号。Polymer1.0需要正确的JSON引号,在0.5中则相反(source)。 关

javascript - 模拟/ stub `super` 调用

我想模拟super调用,尤其是某些ES6类中的构造函数。例如importBarfrom'bar';classFooextendsBar{constructor(opts){...super(opts);}someFunc(){super.someFunc('asdf');}}然后在我的测试中,我想做类似的事情importFoofrom'../lib/foo';importBarfrom'bar';describe('constructor',function(){it('shouldcallsuper',function(){letopts=Symbol('opts');letcons

javascript - nightwatch.js 在测试套件结束时暂停

我一直在使用nightwatch.js进行功能测试自动化。问题是测试套件完成后测试暂停。它不会结束该过程。代码如下所示:varafterSuite=function(browser){dbFixture.deleteCollectionItemById(companyId,'cilents');dbFixture.deleteCollectionItemById(customerId,'users');dbFixture.deleteCollectionItemById(assetId,'assets');dbFixture.deleteFile(imageId);browser.en

javascript - 如何在忽略冠词 (A, an, the) 的同时对 javascript 数组进行排序?

我有以下排序函数来对书籍列表进行排序:varcompare=function(a,b){varaTitle=a.title.toLowerCase(),bTitle=b.title.toLowerCase();if(aTitle>bTitle)return1;if(aTitle我如何调整它以便忽略每个标题开头的文章? 最佳答案 您可以简单地使用函数removeArticles()来检查句子中是否有多个单词,如果有则返回第二个单词进行比较。对于特定的单词,您只需要为单词添加条件,例如(words[0]=='a'||words[0]==

javascript - 在 Node.js 中模拟嵌套模块?

我有这些文件:文件1.jsvarmod1=require('mod1');mod1.someFunction()...文件2.jsvarFile1=require('./File1');现在在为File2编写单元测试时,是否可以模拟mod1,这样我就不会调用mod1.someFunction()? 最佳答案 我通常使用mockery模块,如下所示:lib/file1.jsvarmod1=require('./mod1');mod1.someFunction();lib/file2.jsvarfile1=require('./file

javascript - 对象解构分配的任何方面都是通过引用进行的吗?

我有一个程序可以增加对sessioncookie的请求并将它们打印到控制台。最初,我试图弄清楚如何保存这些数据。登录几个地方后,我意识到尽管我有一个单独的变量来保存我认为是req成员对象的临时版本,但数据仍在保存/更改。这段代码让我意识到,当我递增分配给它的变量时,实际对象正在发生变化:recordRequest(req){const{ip}=req.info;const{requestsPerSecond}=req.session;if(req.originalUrl.split('/').filter(Boolean)[0]=='www.example.com'){requests